Efficient Multithreaded Context ID Allocation in MPI

نویسندگان

  • James Dinan
  • David Goodell
  • William Gropp
  • Rajeev Thakur
  • Pavan Balaji
چکیده

An important aspect of support for multithreaded MPI executions is the management of communication context identifiers (IDs), which are used to associate MPI communication operations with a communicator. New communicator creation functionality in MPI 3.0 adds complexity to this core resource management problem. We present an efficient algorithm for multithreaded context ID allocation that builds on an existing production algorithm developed to support MPI 2.2. Through this work, we have discovered a subtle concurrency bug in the existing algorithm that can result in deadlock. We correct this bug and develop methods to overcome the performance impact of deadlock prevention. We evaluate the performance of the new algorithm and prove that it is free from deadlock.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Efficient MPI Support for Advanced Hybrid Programming Models

The number of multithreaded Message Passing Interface (MPI) implementations and applications is increasing rapidly. We discuss how multithreaded applications can receive messages of unknown size. As is well known, combining MPI Probe/MPI Recv is not threadsafe, but many assume that trivial workarounds exist. We discuss those workarounds and show how they fail in practice by either limiting the ...

متن کامل

Issues in Developing a Thread-Safe MPI Implementation

The MPI-2 Standard has carefully specified the interaction between MPI and user-created threads, with the goal of enabling users to write multithreaded programs while also enabling MPI implementations to deliver high performance. In this paper, we describe and analyze what the MPI Standard says about thread safety and what it implies for an implementation. We classify the MPI functions based on...

متن کامل

Thread-safety in an MPI implementation: Requirements and analysis

The MPI-2 Standard has carefully specified the interaction between MPI and usercreated threads, with the goal of enabling users to write multithreaded programs while also enabling MPI implementations to deliver high performance. However, a simple reading of the thread-safety specification does not reveal what its implications are for an implementation and what implementers must be aware (and ca...

متن کامل

Partitioning a lenient parallel language into sequential threads

Multithreading as attractive in a large-scale parallel system since it allows split-phase memory operations and fast context switching between computations without blocking the processor. Performance of multithreaded archifectures depends significantly on the quality of multithreaded codes. In this paper, we describe the enhanced thread formation scheme to produce efficient sequential threads f...

متن کامل

Trade-offs in Context Identifier Allocation in MPI

The notion of communicators is one of the most central concepts in the Message Passing Interface (MPI), allowing the library developers to contextualize their message exchanges, and scope different algorithms to well-defined groups of processes, and allowing the MPI implementation to specialize its matching and deliver messages in the right context. Due to its collective nature, the communicato...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2012